import { defineConfig, loadEnv } from 'vite';
import vue from '@vitejs/plugin-vue';
import path from 'path';

export default defineConfig(({ mode }) => {
  // 加载环境变量
  const env = loadEnv(mode, process.cwd());

  return {
    plugins: [ vue()],
    resolve: {
      alias: {
        '@': path.resolve(__dirname, 'src')
      },
      extensions: ['.vue', '.js', '.json']
    },
    server: {
      proxy: {
        '/user': {
          target: env.VITE_API_URL,
          changeOrigin: true
        }
      },
      // 增强 HMR 稳定性
      hmr: {
        overlay: false // 禁用错误覆盖层（可选）

      }
    },
    optimizeDeps: {
      exclude: ['__vite__injectQuery'], // 防止重复注入
      include: [ // 显式预构建依赖
        'element-plus',
        'vue'
      ]
    }
  };
});
